1) Field of the Invention
The present invention concerns a method and apparatus for modifying tables of data included in a digital stream of encoded data. The invention is of particular application to modifying the data in tables of data included in the digital transport stream of a digitally compressed television signal.
2) Description of the Related Art
An MPEG-2 digital compressed television signal contains, along with the digital encoded and compressed video and audio signal information, further information relating to the video and audio signal information. The further information is divided into two groups or categories referred to as system information (SI) and programme specific information (PSI). Within these groups or categories of information are tables of data each of which carries information about particular parameters, e.g. about the network that the signal is carried on, or about a particular service on the network or about a particular event (programme) which is being shown on that service.
Each table as presented to this invention may be broken down into sections, if it is large enough. Sections of tables each have a header identifying the type of table and therefore the type of information within the section. The actual data that the MPEG-2 decoders use is contained within descriptors inside the sections. These descriptors can be text information for display on screen, numbers, codes or links identifying the location of other tables or the location of a particular service within the transport stream. More detail is publicly available within the ISO/IEC 13818-1 MPEG-2 systems specification and ETS 300468 ETSI, SI specification and is well known to those skilled in the art. Professional and consumer receivers use the data contained in the tables to guide the decoding of the data for the viewer and to provide information such as programme guides for the viewer.
If a MPEG-2 transport stream is locally transferred from one medium to another medium, the system information and programme specific information may become inaccurate. Examples of transfers include transfers from a satellite transmission medium, to a cable or terrestrial transmission medium, or where the data rate of the transport stream is changed locally, or where services are removed locally from the transport stream. Any inaccurate information may stop MPEG-2 receiver/decoders from correctly decoding the transport stream information to display pictures and provide programme guides and any other additional services. It is therefore necessary to reflect any actual local changes with appropriate modification to the data in the SI and PSI tables.
A general overview of transmultiplexing, transcontrol and transscrambling can be found in the article entitled xe2x80x9cTransmultiplexing, transcontrol and transscrambling of MPEG-2/DVB signalxe2x80x9d by Bungum, O., published in International Broadcasting Convention, Sep. 12, 1996 (pages 288 to 293).
The SI and PSI tables in the MPEG-2 transport steam are subject to continuous updating changes at their source. Consequently the SI and PSI tables must not only be modified to take account of local changes but must also be transmitted to include the continuous updating changes. Furthermore as is known to those skilled in the art, the SI and PSI tables are encapsulated and encoded within the MPEG-2 transport stream with tables split into sub-tables and sections where each section is spread across several non-consecutive transport stream packets. The asynchronous nature of the information and the real-time changes in the information make its modification and transmission very difficult.
If the MPEG-2 transport stream is processed so that tables of information are replaced by new, fixed and locally generated tables, the replacement tables will contain information which is appropriate to the local changes in the transport steam but will fail to take account of continuous updating changes to the tables in the incoming transport stream.
If the MPEG-2 transport stream is processed by reading the stream into a buffer and editing all the data in real time, very significant and expensive processing power would be needed to deal with problems identifying which table to edit when the tables overlap across multiple packet boundaries.
There is therefore a need for a method and apparatus which can efficiently modify the tables of data in a stream of encoded data which can take account of continuous updating changes to the tables.
According to the present invention there is provided a method of modifying tables of data included in a digital stream of encoded data, the method comprising the steps of extracting the tables of data from the stream, processing the extracted tables to identify data which is to be dropped, filtering the stream to filter out the identified data, inserting new data into the extracted tables to replace dropped data and so forming modified tables of data, and multiplexing the transport stream with the modified tables of data.
Further, according to the present invention, there is provided apparatus for modifying tables of data included in a digital stream of encoded data, the apparatus comprising means to receive and extract tables of data from the stream, processing means to process the extracted tables to identify data which are to be dropped, filtering means to filter out the identified data from the stream, the processing means being adapted to insert new data into the extracted tables to replace dropped data and so form modified tables of data, and multiplexing means to multiplex the filtered stream with the modified tables of data.